package com.chongchong.auth.kaptcha;
/**
 * @Author:tlp
 * @Date:2022-07-15 9:54
 * @Desc:
 */

import com.google.code.kaptcha.text.impl.DefaultTextCreator;

import java.security.SecureRandom;
import java.util.Random;

/**
 * <h4>springcloud-activiti7</h4>
 * <p>验证码</p>
 * @author : tlp
 * @date : 2022-07-15 09:54
 **/
public class KaptchaTextCreator extends DefaultTextCreator {

		private static final String[] CNUMBERS = "0,1,2,3,4,5,6,7,8,9,10".split(",");

		@Override
		public String getText()
		{
			Integer result = 0;
			Random random = new SecureRandom();
			int x = random.nextInt(10);
			int y = random.nextInt(10);
			StringBuilder suChinese = new StringBuilder();
			int randomoperands = (int) Math.round(Math.random() * 2);
			if (randomoperands == 0)
			{
				result = x * y;
				suChinese.append(CNUMBERS[x]);
				suChinese.append("*");
				suChinese.append(CNUMBERS[y]);
			}
			else if (randomoperands == 1)
			{
				if (!(x == 0) && y % x == 0)
				{
					result = y / x;
					suChinese.append(CNUMBERS[y]);
					suChinese.append("/");
					suChinese.append(CNUMBERS[x]);
				}
				else
				{
					result = x + y;
					suChinese.append(CNUMBERS[x]);
					suChinese.append("+");
					suChinese.append(CNUMBERS[y]);
				}
			}
			else if (randomoperands == 2)
			{
				if (x >= y)
				{
					result = x - y;
					suChinese.append(CNUMBERS[x]);
					suChinese.append("-");
					suChinese.append(CNUMBERS[y]);
				}
				else
				{
					result = y - x;
					suChinese.append(CNUMBERS[y]);
					suChinese.append("-");
					suChinese.append(CNUMBERS[x]);
				}
			}
			else
			{
				result = x + y;
				suChinese.append(CNUMBERS[x]);
				suChinese.append("+");
				suChinese.append(CNUMBERS[y]);
			}
			suChinese.append("=?@" + result);
			return suChinese.toString();
		}
}
